package datatypes;

import static org.junit.Assert.*;
import junit.framework.JUnit4TestAdapter;

import org.junit.Before;
import org.junit.Test;

public class Vertex_test {
	Vertex vertex;
	
	public static junit.framework.Test suite() {
		return new JUnit4TestAdapter(Vertex_test.class);
	}

	@Before
	public void setUp() throws Exception {
		vertex = new Vertex(3.0, 4.0);
	}

//	@Test
//	public void testVertex() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testSetX() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testGetX() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testSetY() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testGetY() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testSetAdjacentEdges() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testGetAdjacentEdges() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testAdd() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testIsInCircle() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testToCanvasCoordinates() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testFromCanvasCoordinates() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testDist() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testIsInsideTriangleDouble() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testIsInsideVertexVertexVertexDouble() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testIsInsideEdgeVertexDouble() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testCompareTo() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testEqualsObject() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testToString() {
//		fail("Not yet implemented");
//	}
//
//	@Test
//	public void testClone() {
//		fail("Not yet implemented");
//	}

	@Test
	public void testNorm() {
		double norm = vertex.norm();
		assertEquals("Norm", 5.0, norm, 0.0000001);
	}

	@Test
	public void testMultiplyWithVector() {
		Vertex otherVertex = new Vertex(2.0, 2.0);
		double product = vertex.multiplyWithVector(otherVertex);
		assertEquals("Product", 14.0, product, 0.0000001);
	}

}
